package com.example.cursor_orm.dao;

import com.example.cursor_orm.model.User;
import java.util.List;

/**
 * 用户DAO接口
 * 继承BaseDAO并添加用户特有的查询方法
 */
public interface UserDAO extends BaseDAO<User> {
    
    /**
     * 根据用户名查询用户
     * @param username 用户名
     * @return 用户对象
     */
    User findByUsername(String username);
    

    
    /**
     * 根据年级查询用户列表
     * @param grade 年级
     * @return 用户列表
     */
    List<User> findByGrade(String grade);
    
    /**
     * 验证用户登录
     * @param username 用户名
     * @param passwordHash 密码哈希
     * @return 用户对象
     */
    User authenticate(String username, String passwordHash);
    
    /**
     * 检查用户名是否存在
     * @param username 用户名
     * @return 是否存在
     */
    boolean existsByUsername(String username);
} 